-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Modify numeric FieldMappers to enable SkipList #18066
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modify numeric FieldMappers to enable SkipList #18066
Conversation
4b29d6b to
263e99a
Compare
|
I'm inline with overall changes, one small query though: Do we want to add an benchmark for it? Something like this: https://github.com/opensearch-project/OpenSearch/blob/main/benchmarks/src/main/java/org/opensearch/benchmark/index/mapper/CustomBinaryDocValuesFieldBenchmark.java |
| Document document = new Document(); | ||
| fieldAValues[docId] = randomDouble(); | ||
| document.add(new SortedNumericDocValuesField(fieldA, NumericUtils.doubleToSortableLong(fieldAValues[docId]))); | ||
| document.add(SortedNumericDocValuesField.indexedField(fieldA, NumericUtils.doubleToSortableLong(fieldAValues[docId]))); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-
Lets not enable by default ? One option is to introduce a new parameter for skipper similar to docValues / index / stored_fields to the user. [ Of course docValues must be true for skipper to be true ]
-
Also we must see if we need to enable in experimental mode for now until search takes advantage of this data structure.
-
Do we have any benchmarks in terms of storage if we enable for all fields like this ? We can try atleast in few OSB workloads with and without this change.
6622724 to
186e96a
Compare
|
{"run-benchmark-test": "id_4"} |
|
The Jenkins job url is https://build.ci.opensearch.org/job/benchmark-pull-request/3281/ . Final results will be published once the job is completed. |
|
❌ Gradle check result for 186e96a: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
Benchmark ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-pull-request/3281/
|
Benchmark Baseline Comparison ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-compare/106/
|
|
This PR is stalled because it has been open for 30 days with no activity. |
186e96a to
17f1869
Compare
|
Queries that show noticeable performance regression: I will retest it to double check and then look deeper into the cause. |
Signed-off-by: kkewwei <[email protected]> Signed-off-by: kkewwei <[email protected]> upgrade os version
17f1869 to
d7947c1
Compare
|
❌ Gradle check result for d7947c1: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
|
{"run-benchmark-test": "id_4"} |
|
The Jenkins job url is https://build.ci.opensearch.org/job/benchmark-pull-request/3722/ . Final results will be published once the job is completed. |
Benchmark ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-pull-request/3722/
|
Benchmark Baseline Comparison ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-compare/132/
|
|
Hi @kkewwei, I'm hoping to get this in for 3.2 but using mapping instead as @bharath-techie mentioned, default value of false. We've done a few benchmarks (#18751), some show no change in index size but another that shows 32%. Do you want to continue with this PR? If not, I can take over. |
Thank you so much for sharing the test data. I’ll be focusing intently on following up with the test this week. |
|
Since the deadline for 3.2 is tomorrow, I posted a similar PR: #18889. Feel free to re-use it or review it, either way works for me. |
Description
[Describe what this change achieves]
Related Issues
Resolves #17965
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.